package com.cheng.example.book.advise151.chap7;


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

class ArrayUtils {
    // 把一个变长参数转化为列表，并且长度可变
    public static <T> List<T> asList(T... t) {
        List<T> list = new ArrayList<T>();
        Collections.addAll(list, t);
        return list;
    }
}

/**
 * 建议95：强制声明泛型的实际类型
 */
public class Client95 {

    public static void main(String[] args) {
        // 正常用法
        List<String> list1 = ArrayUtils.asList("A", "B");
        // 参数为空
        List list2 = ArrayUtils.asList();
        // 参数为整型和浮点型的混合
        List list3 = ArrayUtils.asList(1, 2, 3.1);

        System.out.println(list3);
    }
}
